This invention relates to an electronic fuel injection control system for an internal combustion engine, and more particularly to a digital fuel injection control system which calculates a fuel injection time interval according to a predetermined program, based on operating parameters of the engine, and opens and closes a fuel injection valve in accordance with the results of this calculation.
Conventionally, analog operational circuits have been mainly used as fuel injection control systems. However, the recent wide use of microcomputers has brought the development of fuel injection control systems which use digital data processing. In these systems, basically, a fuel injection pulse width is calculated according to a program, using data representing the rate of air intake to the engine, the degree of vacuum within the air intake system, and the rotational speed of the engine. The resultant pulse width is corrected according to sensed values of water temperature, etc., and is fed to a register in an output device, which counts pulses of a clock signal and outputs a control pulse having a width corresponding to the content of the register to drive the control fuel injection valve.
One example of a prior art digital fuel injection system incorporating a control device such as described above is shown in FIG. 1 of the accompanying drawings. This system, generally designated by reference numeral 10, includes a microcomputer 12 which comprises a central processor unit (CPU) 14, a random access memory (RAM) 16, and a read only memory (ROM) 18. This type of microcomputer is well known and further description thereof is omitted. An input interface 20 is connected through a data bus 22 and an address bus 24 to the microcomputer 12 and converts input signals from various sensors such as, for example, a sensor 26 which senses the flow rate of intake air to the engine, a cooling-water temperature sensor 28, and a rotational speed sensor 30, to corresponding digital signals, by an analog to digital converter, not shown, comprised therein, and feeds these digital signals to the microcomputer.
An output interface 32 comprises an output register 34 connected through the bus lines 22 and 24 to the microcomputer 12, a clock pulse generator 36, a fuel injection counter 38, a flip-flop 40, and a power transistor 42. A crank position sensor 44 produces a signal at a certain angular position during each rotation of the engine crank shaft 46, and supplies this signal to the flip-flop 40 in order to determine the instant for starting fuel injection. The flip-flop 40 controls the fuel injection valve 48 through the power transistor 42.
In operation, the analog outputs of the sensors 26, 28 and 30 are converted in the input interface 20 to corresponding digital values which are supplied to the microcomputer 12. The microcomputer 12 carries out arithmetic operations on the data input thereto according to a stored program, to obtain a digital value corresponding to the desired fuel injection pulse width, this value being loaded into the output register 34. These operations are carried out on an ongoing basis, irrespective of the angular position of the crank shaft.
The fuel injection counter 38 starts to count by responding to the signal from the crank position sensor 44, and continues to count clock pulses from the clock pulse generator 36 for so long as the counted value in the counter 38 is smaller than the value in the output register 34. When the counted value in the counter 38 reaches the value set therein by the output register 34, or when the value in the output register 34 is updated so that it becomes smaller than the count in the counter 38, the counter 38 stops counting, and resets the flip-flop 40. This flip-flop outputs a fuel injection signal when set, and is set by the signal from the crank position sensor 44 and reset by the output of the counter 38, so that, via transistor 42, it, as explained above, controls the fuel injection valve 48.
In this system, the value in the output register 34 is very often updated, and, particularly, is updated after the injection of fuel. On the other hand, the period of the clock pulse from the generator 36 is constant. Generally, the width of an injection pulse required by the engine is substantially from a minimum of 0.5 ms to a maximum of 150 ms. The number of bits available in the output register 34 and the injection counter 38 is limited. Therefore difficulty arises with regard to the precision available therein. For example, when the capacities of the output register 34 and the counter 38 are both 10 bits, the maximum value for the count is 1023. If the period of clock pulses is selected so that the maximum fuel injection pulse width of 150 msec corresponds to the maximum count of 1023, then this clock pulse period will be 150/1023=0.147, that is, about 0.15 msec (150 .mu.s). However, a unit minimum step change of 0.15 ms in injection pulse duration, corresponding to one clock pulse period, in the vicinity of the minimum injection pulse duration of 0.5 msec will lead to poor accuracy of control of injection pulse duration, bringing about a maximum possible error of .+-.15% in the duration. On the other hand, increase in the counter capacity makes the system expensive.